/**
 * [566] 重塑矩阵
 *
 * @format
 * @lc app=leetcode.cn id=566 lang=javascript
 */

// @lc code=start
/**
 * @param {number[][]} mat
 * @param {number} r
 * @param {number} c
 * @return {number[][]}
 */
var matrixReshape = function (mat, r, c) {
    if (r * c !== mat.length * mat[0].length) return mat
    const result = Array(r).fill(0).map(() => Array(c).fill(0))
    // let index = { m: 0, n: 0, r: 0, c: 0 }
    for (let i = 0; i < r * c; i++) {
        // index.m = Math.floor(i / mat[0].length)
        // index.n = i % mat[0].length
        // index.r = Math.floor(i / c)
        // index.c = i % c
        // result[index.r][index.c] = mat[index.m][index.n]
        result[Math.floor(i / c)][i % c] = mat[Math.floor(i / mat[0].length)][i % mat[0].length]
    }
    return result
}
// @lc code=end
